Webhooks in
This is the inbound half of the bridge: anything on the network that can send an HTTP request — Home
Assistant, Node-RED, IFTTT, a doorbell, a curl one-liner — can set a control's state or fire a
Crestron Home event, and therefore a scene.
What a webhook can do
A single HTTP request (GET or POST) to the driver can:
| Do this | With |
|---|---|
| Set a control's state | ?element=3&state=on |
| Set a state without firing events | ?element=3&display=on |
| Toggle a control | ?element=3&toggle=1 |
| Press a control | ?element=3&press=1 |
| Fire a Crestron Home event — no control involved | ?event=doorbell |
| Set a template variable | ?var=outsideTemp&value=21 |
The fire-an-event form is the headline capability: any HTTP client can now trigger a Crestron Home
event, and a scene bound to that event runs. A doorbell that can send one fixed GET becomes a Crestron
Home trigger.
The setup app hands you working URLs
You do not assemble these by hand. On the Webhooks tab the setup app shows:
- the base URL with the token already in it;
- a copy-ready example per control — set state, toggle;
- worked examples for firing an event and setting a variable.
Copy one, paste it into Home Assistant (or whatever is sending), and it works.
The token
Every webhook is authorised by a secret token carried in its URL. It is minted the first time the driver runs and stays the same across reboots, so the URLs you hand out keep working.
The Regenerate button mints a new token and immediately invalidates every webhook URL you have handed out — which is exactly what you want if one leaked, and a footgun if you press it by accident. After regenerating, re-copy and re-distribute the URLs.
The token is in the URL, so treat a webhook URL as a secret. Do not put it in anything public.
Example: a Home Assistant automation
To have a Home Assistant automation set control 3 to "on", give it a REST command pointing at the control's Set state URL from the Webhooks tab — it looks like:
http://<processor-ip>/cws/<room>_CHUIDYNAMIC/hook?token=<token>&element=3&state=on
To fire a Crestron Home scene, point it at the fire event URL instead and bind the scene to that event name in Crestron Home programming:
http://<processor-ip>/cws/<room>_CHUIDYNAMIC/hook?token=<token>&event=arrived_home
Did it arrive?
Every inbound webhook is recorded in the Activity tab, in or out, with its outcome — so you can see that a request arrived and what it did, without a processor console. A webhook that changed nothing shows there too, with the reason.
Like every action in the driver, a webhook only takes effect when the driver is licensed. An unlicensed driver still answers the request, but does nothing with it.